問題 §
Blazor WebAssemblyで動いていたRazorライブラリがある。
これを、.NET Maui Blazorアプリに組み込んだところ、実行すると以下のようなエラーになって動作しない。
- blazor.webview.js:1 Cannot provide a value for property 'Http' on type '~'. There is no registered service of type 'System.Net.Http.HttpClient'.
原因 §
Blazor WebAssemblyではDIによりHttpがインジェクションされているが、.NET Maui Blazorアプリではされていないから。(Blazor Serverでもされていないらしい)
解決 §
*.razorファイルに含まれる以下の行を全て探して削除する。
Httpを利用していたコードは全てエラーになるが、それはnew HttpClient()の値を利用するように修正する。
これで、どちらのプロジェクトでも動くようになる。